abstract class Base {
    public void function1() {}
}

abstract class A {
    public abstract void func();
}

class Derive extends Base {
    public void function2() {}
    public void function1(String str) {}
    public void function1() {}

    public static void main(String [] args) {
        Base a = new Derive();
        Derive b = (Derive) a;
        b.function2();
    }
}
